package com.xbts.system.domain;

import com.xbts.common.enums.ShoppingCarEnums;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.Data;
import com.xbts.common.annotation.Excel;
import com.xbts.common.utils.StringUtils;
import com.xbts.common.core.domain.BaseEntity;

/**
 * 合同模板对象 cn_contract_template
 *
 * @author xbts
 * @date 2023-08-31
 */
@Data
@ApiModel("合同模板对象")
@TableName("cn_contract_template")
public class CnContractTemplate extends BaseEntity {

    private static final long serialVersionUID=1L;

    /** 主键 */
    @TableId
    private String id;

    /** 购物车类型(CLOUD_SERVER云服务器 MARKET_CLOUD市场云 GOV_CLOUD政务云) */
    @Excel(name = "购物车类型(CLOUD_SERVER云服务器 MARKET_CLOUD市场云 GOV_CLOUD政务云)")
    @ApiModelProperty("购物车类型(CLOUD_SERVER云服务器 MARKET_CLOUD市场云 GOV_CLOUD政务云)")
    @NotNull(message = "购物车类型(CLOUD_SERVER云服务器 MARKET_CLOUD市场云 GOV_CLOUD政务云)不能为空")
    private ShoppingCarEnums shoppingCarEnums;

    /** 模板内容 */
    @Excel(name = "模板内容")
    @ApiModelProperty("模板内容")
    @NotEmpty(message = "模板内容不能为空")
    private String content;

    public<T> QueryWrapper<T> queryWrapper(){
        QueryWrapper<T> queryWrapper=new QueryWrapper<>();
        queryWrapper.like(StringUtils.isNotEmpty(content),"content",content);
        queryWrapper.orderByDesc("create_time");
        return queryWrapper;
    }
}